Methods for gathering usage statistics in document retrieval and browsing are well-known. A common scenario is for site owners, such as online retailers and online search services, to collect large amounts of information about user browsing activity. Typical solutions for analyzing browser session activity on a site are server-based. During a session between a user's browser and a server, the browser submits requests to the server to access content of a site, and the server may record each of the requests in some type of log. Each browser of a site is typically assigned an electronic identifier that permits the server to record the pages and links that a browser visits in the log. Site owners and advertisers may then use the visitor identification information to analyze usage activity of the site.
Another method for analyzing site usage data involves the use of cookies. A cookie is typically set on the user's computer by the site application while serving pages to the user's browser. The browser may then convey the cookie used to identify the user session as well as other information to an analytics engine upon the user making subsequent requests to the site.
Using the above methods, sites can currently count page hits, can classify hits from specific IP addresses or IP subnets, map addresses or subnets to geographic locales, and can count the rate of hits over given time intervals etc. For a particular site or family of sites, servers can track requests from a particular browser or address to detect browsing patterns. However, cookie blocking, cookie deletion, and changing IP addresses make it difficult for these methods to collect consistent and comprehensive data.
These methods have other disadvantages as well. For example, server gathered statistics encompass only a small slice of a user's actual behavior. The statistics are often specific to the context of the sites gathering the data and are thus not useful outside of the particular context of the site. Further, combining data gathered from several servers is difficult given that identifying users is often difficult due to cookie blocking, anti-spyware, and other privacy mechanisms.
Accordingly, what is needed is an improved system and method for tracking user activity related to network resources during browsing. The system and method should be capable of tracking both user-initiated activities related to network resources in the browser as well as any corresponding results received by the browser as a result of the activities that are not accessible by servers.